package com.ceair.utils.structMapper;

import com.ceair.entity.SysAuthority;
import com.ceair.entity.vo.authority.SysAuthorityVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author wangbaohai
 * @ClassName SysAuthorityStructMapper
 * @description: 菜单结构映射转换器
 * @date 2025年03月03日
 * @version: 1.0.0
 */
@Mapper
public interface SysAuthorityStructMapper {

    // 使用MapStruct框架创建SysAuthorityStructMapper的实例
    SysAuthorityStructMapper INSTANCE = Mappers.getMapper(SysAuthorityStructMapper.class);

    /**
     * 将SysAuthority实体类转换为SysAuthorityVO视图类
     *
     * @param sysAuthority SysAuthority实体类对象，包含权限结构信息
     * @return SysAuthorityVO视图类对象，用于界面展示
     */
    SysAuthorityVO toVO(SysAuthority sysAuthority);

    /**
     * 将SysAuthorityVO视图类转换为SysAuthority实体类
     *
     * @param sysAuthorityVO SysAuthorityVO视图类对象，包含权限结构信息
     * @return SysAuthority实体类对象，用于持久化操作
     */
    SysAuthority toEntity(SysAuthorityVO sysAuthorityVO);

}
